import codecs
import csv

import numpy as np
import pandas as pd
from matplotlib.ticker import MultipleLocator
import matplotlib.pylab as plt

# 曲线实例
# plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
# plt.ylabel('some numbers')
# plt.show()

# 柱状图实例
# names = ['group_a', 'group_b', 'group_c']
# values = [1, 10, 100]
# plt.bar(names, values)
# plt.show()


path = 'C:\\xiaxinyu\\Payment.csv'
df = pd.read_csv(path)
# df['LAST_UPDATED'] = data.sysdate.map(lambda x: x.strftime('%Y-%m-%d'))
group = df.groupby('TYPE_CD', as_index=False)['PAY_AMT'].sum()
c_df = pd.DataFrame(group).sort_values(by="PAY_AMT", ascending=False)
# print(c_df)


# 坐标轴刻度设置
ax = plt.gca()
# 把x轴的刻度间隔设置为1，并存在变量里
# x_major_locator = MultipleLocator(1)
# ax.xaxis.set_major_locator(x_major_locator)

# 把y轴的刻度间隔设置为 "百万"，并存在变量里
y_major_locator = MultipleLocator(1000000)
ax.yaxis.set_major_locator(y_major_locator)


# 设置坐标文字
plt.xlabel("类型", fontsize=14)
plt.ylabel("成交额度(百万)", fontsize=14)


# 设置坐标文字方向
plt.xticks(rotation=90)


# 设置图中文字样式
plt.rcParams['font.sans-serif'] = ['KaiTi', 'SimHei', 'FangSong']  # 汉字字体,优先使用楷体，如果找不到楷体，则使用黑体
plt.rcParams['font.size'] = 9  # 字体大小
plt.rcParams['axes.unicode_minus'] = False  # 正常显示负号


# 设置数据
plt.bar(c_df['TYPE_CD'], c_df['PAY_AMT'])
plt.show()
